package com.zhousb.file_retrieval_server.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhousb.file_retrieval_server.domain.dto.UserAddDto;
import com.zhousb.file_retrieval_server.domain.dto.UserRoleDto;
import com.zhousb.file_retrieval_server.domain.entity.SysRole;
import com.zhousb.file_retrieval_server.domain.entity.SysUser;
import com.zhousb.file_retrieval_server.domain.so.SimpleSo;
import com.zhousb.file_retrieval_server.domain.vo.SysUserVo;
import com.zhousb.file_retrieval_server.domain.vo.UserSimpleVo;
import com.zhousb.file_retrieval_server.security.JwtUser;

import java.util.List;

public interface SysUserService {
    SysUser getByUsername(String username);
    SysUser getById(Long userId);

    boolean updateUser(SysUser sysUser);

    boolean addUser(UserAddDto dto);

    List<SysRole> listRoleByUserId(Long userId);

    IPage<SysUserVo> listUser(Page page, SimpleSo so);

    JwtUser getUserInfo();

    boolean deleteUser(Long userId);

    boolean saveRole(UserRoleDto dto);
    List<UserSimpleVo> listAll();

    List<Long> getRoleUserMap(String roleCode);
   boolean updatePassword(String password);

   String getRealName(String userId);
}
